package com.push.common;

import com.alibaba.fastjson2.JSONObject;
import com.push.common.entity.StartPlusTemplate;

public interface IStartMsgPlus {
    /**
     * 消息推送器名称
     *
     * @return
     */
    default String getMsgPlusName() {
        return getMsgPlusKey();
    }

    /**
     * 消息推送器唯一标准
     *
     * @return
     */
    String getMsgPlusKey();


    /**
     * 消息推送
     *
     * @param template
     * @param paramContext
     * @return
     */
    boolean plusMsg(StartPlusTemplate template, JSONObject paramContext);

    /**
     * 批量消息推送
     *
     * @param template
     * @param paramContext
     * @return
     */
    boolean batchPlusMsg(StartPlusTemplate template, JSONObject paramContext);

    /**
     * 批量消息推送
     *
     * @param template
     * @param paramsContext
     */
    void batchPush(StartPlusTemplate template, JSONObject paramsContext);
}
